<?php
// +----------------------------------------------------------------------
// | 标签
// +----------------------------------------------------------------------
namespace dc\lib\taglib;

use think\template\TagLib;

class Tool extends TagLib
{
    /**
     * 定义标签列表
     */
    protected $tags = [
        // 标签定义： attr 属性列表 close 是否闭合（0 或者1 默认1） alias 标签别名 level 嵌套层次
        'select'  => ['attr' => 'name,key,item,value'], //非必须属性item
        'radio' => ['attr' => 'name,key,item,value'], //非必须属性item
        'checkbox' => ['attr' => 'name,key,item,value'], //非必须属性item
    ];

    /**
     * select标签解析
     * 格式：
     * {select options="list" name="" item="item" key="key" value="" class="" id=""}
     * @access public
     * @param array $tag 标签属性
     * @param string $content 标签内容
     * @return string
     */
    public function tagSelect($tag, $content)
    {
        $list     = $this->autoBuildVar($tag['list']);
        $name     = $this->autoBuildVar($tag['name']);
        $class    = $tag['class'] ? $this->autoBuildVar($tag['class']) : '';
        $id       = $tag['id'] ? $this->autoBuildVar($tag['id']) : '';

        $item     = $tag['item'] ?: 'item';

        $parseStr = '<select name="<?php echo '.$name.' ;?>" '.($id ? ' id="<?php echo '.$id.'; ?>"' : '').($class ? ' class="<?php echo '.$class.'; ?>"' : '').'>';
        $parseStr .= '<?php foreach(' . $list . ' as $_key => $_val) { ?>';
        $parseStr .= '<option value="<?php echo '.($tag['key'] ? '$_val["'.$tag['key'].'"]' : '$_key').';?>"><?php echo '.($tag['key'] ? '$_val["'.$tag['key'].'"]' : '$_key').';?></option>';
        $parseStr .= '<?php } ?>';
        $parseStr .= '</select>';

        return $parseStr;
    }


}